#ifndef GAME_H
#define GAME_H

#include "NonCopyable.h"

#include <SFML/Config.hpp>

namespace sf
{
class RenderWindow;
}

class InputManager;
class Player;

class Game : public NonCopyable<Game>
{
public:
    Game();
    ~Game();

    bool Init();
    void Run();

private:
    void Cleanup();

    void Update(sf::Int32 deltaTime);
    void Render();

    bool                m_running;

    sf::RenderWindow*   m_window;
    InputManager*       m_inputManager;
    Player*             m_player;
};

#endif // GAME_H
